package com.sigmatrix.h5.auth;

/**
 * 登陆用户信息接口
 * 
 * @author wei.wang
 *
 */
public interface ILoginUser {

	/**
	 * 和角色或权限关联的字段，用于查询角色或权限。一般为账号id
	 * 
	 * @return
	 */
	public Integer getPrincipal();

	/**
	 * 登陆名
	 * 
	 * @return
	 */
	public String getLoginName();

	/**
	 * 企业code
	 * 
	 * @return
	 */
	public String getEseCode();

	/**
	 * 账号类型CrmAcctType
	 * 
	 * @return
	 */
	public Short getAcctType();

	/**
	 * 
	 * @return
	 */
	public Integer getBasicModuleEseId();

	/**
	 * 
	 * @return
	 */
	public Integer getEseId();

	/**
	 * 账号id
	 * 
	 * @return
	 */
	public Integer getAcctId();

	/**
	 * openId
	 * 
	 * @return
	 */
	public String getOpenId();

	/**
	 * 当前用户的服务人员（或理解为当前用户监护人的code）
	 * 
	 * @return
	 */
	public String getDealersAcctPromotionCode();

	/**
	 * 手机号
	 * 
	 * @return
	 */
	public String getPhoneNumber();

	/**
	 * 公司对应公众号id
	 * 
	 * @return
	 */
	public String getAppId();

	/**
	 * 登陆类型:标识登陆的方式,登陆的接口。值为com.sigmatrix.h5.enums.SysResModule.code
	 * 
	 * @return
	 */
	public String getLoginType();

	/**
	 * 企业名称
	 * 
	 * @return
	 */
	public String getEseName();

	/**
	 * 根据acctType进行判断： acctType 为经销商类型，该账号经销商的，该字段值为所属经销商Id值(多个经销商需要指定) acctType
	 * 为门店类型，该账号门店的，该字段值为所属门店Id值
	 * 
	 * @return
	 */
	public Integer getDealerOrShopId();

	/**
	 * 用户类别(经销商情况下有效): 1.管理员, 2.业务员
	 * 
	 * @return
	 */
	public Short getUserType();
}
